如果有任何問題或建議,歡迎隨時聯繫我:
昨天結尾我留了一句話:有一大類「省錢技巧」其實是在做白工。
今天來兌現。
先問你一件事。你有沒有做過這種優化——把 prompt 裡的贅字刪一刪,「請你幫我仔細分析以下這段程式碼並且告訴我有什麼問題」改成「分析這段程式碼的問題」,覺得自己省下了不少 token?
我做過,做得很勤。然後有一天我真的坐下來算,發現那些努力大概省了帳單的 1%。
不是我算錯,是我優化錯了地方。
Claude 的計價表上有兩個數字:input 和 output。而 output 的單價是 input 的 5 倍——四個模型全部都是,一個例外都沒有。當你死命壓縮 input 的時候,你在跟那個便宜 5 倍的東西過不去。
今天這篇不背價目表。價目表會過期,但計價的結構不會——理解結構之後,就算明年價格全部改一輪,你的判斷依據依然成立。
我們要回答三個問題:
本篇的計價結構與倍率皆於 2026 年 8 月 8 日對照 Claude 官方 Pricing 文件 查證。絕對金額會變動,但本篇的重點是結構,不是數字。
| 天數 | 主題 | 描述 |
|---|---|---|
| Day 1 | Claude 模型怎麼選?2026 最新四階模型完整比較 | Fable 5 / Opus 5 / Sonnet 5 / Haiku 4.5 的定位、規格與適用場景 |
| Day 2 | Claude 的計價邏輯:搞懂 input / output 為什麼差 5 倍 | 不背數字,理解計價結構,建立可長期沿用的成本直覺 |
| Day 3 | 不知道用哪個模型?官方建議「從 Opus 5 開始」背後的思維 | 為什麼預設起手不是最便宜、也不是最強的那個 |
| Day 4 | Claude Haiku 4.5 適合做什麼?便宜模型的正確用法 | 便宜模型不是次等品,是專用工具 |
| Day 5 | Claude context window 是什麼?1M token 到底能塞多少東西 | 用實際檔案量換算,破除「塞越多越好」的迷思 |
| Day 6 | Claude 模型選擇決策表:一張圖判斷你該用哪一個 | 把前五天濃縮成一張可以貼在螢幕旁的決策流程 |
| Day 7 | Token 是什麼?為什麼你的 Claude 帳單比想像中貴 | 從 tokenizer 原理理解中文為什麼特別燒錢 |
| Day 8 | Claude 省 token 的 5 個實用技巧(一般使用者也適用) | 不寫程式也能立刻套用的五個習慣 |
| Day 9 | Prompt Caching 是什麼?讓重複內容只算 10% 費用 | 快取寫入與命中的計價邏輯,以及什麼時候會虧 |
| Day 10 | Claude Batch API 教學:非即時任務直接省一半費用 | 用時間換金錢,非同步任務的正確打開方式 |
| Day 11 | 新世代 tokenizer:同樣的中文為什麼變貴了 | Claude 4.7 世代換了 tokenizer,這對中文使用者的實際影響 |
| Day 12 | 對話越長越燒錢?Claude 長對話的成本陷阱與解法 | 每一輪都重算全部歷史——以及三種切斷成本累積的做法 |
| Day 13 | Claude 用量怎麼監控?成本失控前的預警機制 | 從 usage 欄位到 Console 儀表板,把帳單變成可觀測系統 |
| Day 14 | Claude effort 參數是什麼?五個檔位該怎麼設 | low / medium / high / xhigh / max 的取捨與實測建議 |
| Day 15 | Adaptive Thinking 是什麼?為什麼你不用再寫「think step by step」 | 模型自己決定何時思考,舊 prompt 技巧為何失效 |
| Day 16 | Claude 回答變淺了?檢查這兩個隱藏設定 | 排查思路:先看 effort,再看 thinking 設定 |
| Day 17 | Claude Prompt 寫法教學:官方最佳實踐的骨架 | 一個可以套用在 90% 情境的 prompt 結構 |
| Day 18 | 用 XML 標籤讓 Claude 輸出更穩定(結構化輸出教學) | 為什麼 Claude 特別吃 XML,以及怎麼設計標籤 |
| Day 19 | System Prompt 怎麼寫?角色設定的正確姿勢 | system 與 user 的分工,以及「你是一位專家」為什麼沒用 |
| Day 20 | Claude 幻覺怎麼防?降低錯誤輸出的實用做法 | 引用來源、允許說不知道、把驗證寫進流程 |
| Day 21 | Claude Code 是什麼?安裝與第一次使用完整教學 | 從安裝到跑完第一個任務,含常見卡關點 |
| Day 22 | Claude Code 省 token 設定:別讓它讀完整個專案 | CLAUDE.md、忽略規則與 context 控制的實戰配置 |
| Day 23 | MCP 是什麼?把外部工具接進 Claude 的原理與實作 | Model Context Protocol 的設計哲學與一個可跑的範例 |
| Day 24 | 前端如何呼叫 Claude API?Messages 端點入門 | 第一支 API 請求,以及為什麼不該在瀏覽器直接呼叫 |
| Day 25 | Claude 串流輸出(Streaming):打造即時回應體驗 | SSE 事件流解析與前端逐字渲染 |
| Day 26 | Claude API 錯誤處理與重試:正式環境該注意什麼 | 429 / 529 的正確退避策略與冪等性設計 |
| Day 27 | 模型分流(Model Routing)是什麼?別再一支模型用到底 | 依任務難度動態選模型的判斷邏輯 |
| Day 28 | LLM 成本優化架構:小模型前置分流 + 大模型收尾 | 一套可落地的分層架構與失敗處理 |
| Day 29 | 從「會用」到「用得對、用得省」:我 30 天的踩坑與心法 | 誠實記錄過程中判斷錯誤的地方 |
| Day 30 | Claude 使用總整理:模型、成本、設定一次看懂 | 全系列濃縮成一份可以收藏的速查表 |
先看一件很整齊的事:
| 模型 | Input | Output | 比例 |
|---|---|---|---|
| Claude Fable 5 | 10 | 50 | 1 : 5 |
| Claude Opus 5 | 5 | 25 | 1 : 5 |
| Claude Sonnet 5 | 2 | 10 | 1 : 5 |
| Claude Haiku 4.5 | 1 | 5 | 1 : 5 |
(單位是每百萬 token 的美元,2026 年 8 月查證,比例仍是 1:5。)
四個模型、橫跨 10 倍的價格區間,output 對 input 的比例完全一致。
這種整齊不會是巧合。定價通常反映成本結構,而 1:5 這個數字穩定到這種程度,代表它反映的是某種技術上的固有差異,不是行銷策略。
那個差異是什麼?
我用一個比喻。
Input 像是「閱讀」,output 像是「寫作」。
你拿到一份 50 頁的文件要讀,你可以一目十行、快速掃過,甚至同時開好幾頁對照著看。閱讀是可以平行的。
但你要寫 50 頁的報告,你只能一個字一個字寫。而且每寫一個字,你都得先看過前面已經寫了什麼——第 3000 個字要寫什麼,取決於前面 2999 個字。寫作是嚴格序列的,沒辦法平行。
模型的處理方式,本質上就是這個差別:
所以同樣一百萬個 token,「讀進去」和「寫出來」消耗的運算資源天差地遠。
這裡我要誠實標記一下: 上面這套「因為自迴歸生成無法平行化,所以 output 成本較高」的解釋,是業界對 LLM 推論成本結構的普遍理解,也是我自己的推論。Anthropic 官方文件只公布價格,並沒有說明定價背後的成本歸因。所以請把這段當成「一個能幫你建立直覺的合理模型」,而不是官方認證的事實。
但有一件事是官方明載、可以放心當依據的:1:5 這個比例在所有模型上一致。不論成因為何,這個比例是你可以拿來做決策的穩定基礎。
這個直覺一旦建立,你的優化順位就會自動排好:
同樣省下一千個 token,省在 output 上的價值,是省在 input 上的 5 倍。
大部分人以為只有 input 和 output 兩種。實際上還有第三類——而且它的單價比 input 便宜 10 倍。
Prompt Caching(提示快取) 讓重複出現的內容以極低價計費:
| Token 種類 | 相對於 input 基準價 | 說明 |
|---|---|---|
| 一般 input | 1× | 標準輸入 |
| 快取寫入(5 分鐘) | 1.25× | 第一次存進快取,貴 25% |
| 快取寫入(1 小時) | 2× | 存久一點,貴一倍 |
| 快取命中(讀取) | 0.1× | 只要十分之一的價格 |
| output | 5× | 最貴的那個 |
看懂這張表,你就懂了整個成本優化的地形:
從 0.1× 到 5×,中間有 50 倍的落差。 你的每一個 token 落在哪一格,決定了你的帳單。
而快取的損益兩平點也很好算:5 分鐘版本寫入要 1.25×、讀取只要 0.1×,所以只要被讀到一次就開始回本;1 小時版本寫入 2×,要被讀到兩次才划算。
(Prompt Caching 的完整用法與陷阱,是 Day 9 的主題。)
還有第四種折扣——Batch API 對 input 和 output 一律打 5 折,而且可以跟快取疊加。條件是你得接受非即時處理。這是 Day 10。
計價結構還有兩個地方,新手幾乎一定會漏:
① 你的工具定義(tools)是 input token。
你在請求裡帶的 tools 參數——工具名稱、描述、JSON schema——全部算 input。而且只要你帶了工具,API 還會自動加上一段系統提示來啟用工具功能,這段也算你的。以 Opus 5 為例,光是這段自動加的系統提示就要 286 個 token(tool_choice 設成 any 或指定工具時是 406 個)。
十個工具的 schema 加起來輕鬆破千 token,而且每一次請求都要重付一遍。
② thinking tokens 算 output。
這個更關鍵。模型「思考」產生的內容,是以 output 價格計費的——也就是那個 5× 的價位。
而在 adaptive thinking 之下(Day 1 提過,新世代三個模型都是這種),模型自己決定要想多久。你沒有直接的開關,只有 effort 這個間接的油門。
所以會發生這種事:兩個看起來一模一樣的請求,一個花了 200 個 output token,另一個因為模型多想了一輪而花了 3000 個。你的成本變異,很大一部分藏在思考量裡,而不是在你寫的 prompt 裡。
(怎麼用 effort 控制這件事,是 Day 14。)
回到開頭那個承諾。
❌ Before:優化了半天,帳單紋風不動
# 花了 20 分鐘把 prompt 從 120 字精簡到 80 字
prompt = "分析這段程式碼的問題" # 省下約 40 個 input token
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096, # 沒動
messages=[{"role": "user", "content": f"{prompt}\n\n{code}"}],
)
# 輸出:一篇 2000 token 的詳盡分析(你只想看重點)
✅ After:改優化真正貴的那一端
prompt = "分析這段程式碼的問題,用條列式列出最嚴重的 3 個,每點一句話"
response = client.messages.create(
model="claude-opus-5",
max_tokens=500, # 上限拉下來,避免失控
messages=[{"role": "user", "content": f"{prompt}\n\n{code}"}],
output_config={"effort": "medium"}, # 降低思考量(thinking 算 output)
)
# 輸出:一篇 200 token 的重點清單
對照一下這兩段。Before 省了 40 個 input token,換算成本幾乎看不到。After 省了 1800 個 output token,而 output 單價是 input 的 5 倍——兩者的效益差了兩百多倍。
而且 After 版本裡真正做事的是三個地方:要求輸出格式與長度(直接壓 output)、設定
max_tokens上限(設一道防線)、調降effort(壓思考量,那也是 output)。一句話總結:省 input 是省小錢,省 output 才是省大錢。
當然,input 完全不用管嗎?也不是。有兩種情況 input 會變成主角:當你的 input 極大時(塞了整份文件、整個 repo),以及當同一段 input 被重複送很多次時(那就該用快取,讓它從 1× 掉到 0.1×)。這兩個場景分別是 Day 5 和 Day 9。
最後給你一個框架,它會貫穿接下來整個第二階段。
任何一筆 Claude 帳單,都可以拆成三個乘數:
總成本 = 單價 × 每次用量 × 呼叫次數
(哪一格) (多少 token) (跑幾遍)
三個乘數,各有各的優化手段,而且它們是相乘的——這代表每一項的改善都會被另外兩項放大。
| 乘數 | 你能怎麼動它 | 對應天數 |
|---|---|---|
| 單價 | 換便宜的模型、用快取(1× → 0.1×)、用批次(打 5 折) | Day 4、Day 9、Day 10 |
| 每次用量 | 壓 output 長度、降 effort、精簡 context、清掉舊對話 |
Day 5、Day 8、Day 12、Day 14 |
| 呼叫次數 | 做結果快取、合併請求、失敗時不盲目重試 | Day 13、Day 26 |
為什麼要把它拆成三個?因為大部分人只優化其中一個,而且通常是最沒效益的那個。
回頭看開頭那個「刪 prompt 贅字」的例子:它動的是「每次用量」裡最小的那一塊(input 的措辭)。而同樣是動用量,改成壓 output 長度,效益就是 5 倍;改成降
effort少想幾輪,效益可能是 10 倍。更重要的是:三個乘數是相乘的。 假設你在單價上省一半(換模型)、用量上省一半(壓 output)、次數上省一半(加結果快取)——最後不是省 50%,是 省到剩下八分之一。
這也是為什麼我把第二階段排了七天。它不是七個獨立技巧,是三個乘數的完整地圖。
一個具體的數字感
官方文件裡有個現成的例子可以借用:用 Haiku 4.5 處理一萬筆客服工單,平均每則對話約 3,700 token,總成本大約 37 美元。
拿這個當基準往上推——同樣一萬筆,如果換成 Fable 5(10× 單價),大約是 370 美元。如果又沒有用快取共用那段分類規則,input 那一塊還會再往上翻。
同一批工作,同樣的結果,差距落在完全不同的量級。 而差別只在你有沒有看懂這三個乘數。
今日挑戰:找出你最近寫的一支 Claude 呼叫,回答三個問題——① 你的 max_tokens 設多少?是經過思考的數字,還是隨手打的 4096?② 你的 prompt 有沒有指定輸出長度或格式?③ 如果沒有,模型平均回你多長?
然後做一個實驗:在原本的 prompt 後面加一句「用不超過 5 個條列點回答,每點一句話」,比對前後的 usage.output_tokens。這是一分鐘就能做完、而且效果最直接的優化。
反思:為什麼我們會反射性地去優化 input,而不是 output?我自己的答案是——input 是我寫的,output 不是。 我們天生比較願意管自己能直接控制的東西,而 output 感覺是「模型的事」。但事實上,output 一樣是你可以控制的,只是要透過指令而不是直接編輯。你有沒有其他「只優化自己看得到的部分」的習慣?
今天我們沒有背價目表,而是把計價的結構拆開來看。
三件事值得帶走。第一,output 的單價是 input 的 5 倍,而且四個模型比例完全一致——這個比例穩定到可以當成長期的判斷依據。第二,你的帳單上其實有一整條光譜,從快取命中的 0.1× 到 output 的 5×,中間橫跨 50 倍,每個 token 落在哪一格才是重點。第三,thinking tokens 算 output,而在 adaptive thinking 下模型自己決定想多久——這是最容易失控、也最容易被忽略的一塊成本。
所以優化的順位很清楚:先管 output,再管重複的 input,最後才輪到精簡措辭。 那些花二十分鐘刪贅字的努力不是錯,只是排在最後一位。
本日關鍵字回顧
tools 參數與其自動附加的系統提示皆計入 input,且每次請求重複計費。明天我們回到選模型這件事。官方說「不確定就從 Opus 5 開始」——但 Opus 5 既不是最便宜的、也不是最強的,憑什麼是它?這個建議背後有一套關於錯誤成本的推理,而且它跟今天算的帳直接相關。
Day 3,我們拆解官方的預設建議。